package fun.ipconfig.sort;

public class SelectSort {

    /**
     * 选择排序 时间复杂度为O(N^2)
     * 优点，数据修改较少，每次只需要将选择的数据进行替换即可
     * 缺点，时间复杂度高
     * @param arr
     */
    public static void sort(int arr[]){
        for(int i = 0;i<arr.length;i++){
            int temp = i;
            for(int j=i+1;j< arr.length;j++){
                if(arr[j] < arr[temp]){
                    temp = j;
                }
            }
            if(temp != i){
                arr[i] = arr[i] + arr[temp];
                arr[temp] = arr[i] - arr[temp];
                arr[i] = arr[i] - arr[temp];
            }
        }
    }

    public static void main(String[] args) {
        int arr[] = {3,4,2,1,12,34,11,23,156,123,123,46,16,18,77,91,36,1245,561,321,346,612,356,136,167,1334};
        sort(arr);
        for(int i : arr){
            System.out.println(i);
        }
    }
}
